package com.example.onion.hxchat.room.dao;

import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;

import com.example.onion.hxchat.room.entity.User;

import java.util.List;


/**
 * 针对以上用户Entity，我们需要定义一个Dao接口文件，以完成对Entity的访问。
 *
 * 注意:在文件的上方，需要加入@Dao标签。
 */
@Dao
public interface UserDao
{
    @Insert
    void insertUser(User... users);

    @Delete
    void deleteUser(User user);

    @Update
    void updateUser(User user);

    @Query("DELETE FROM User")
    void deleteAllUserS();

    /**
     * 获取Team表中所有数据,用LiveData承载，自动更新.
     * Query中的字符串表示SQL语句.
     * @return all data of table Team
     */
    @Query("SELECT * FROM User")
    LiveData<List<User>> getAllUser();

    @Query("SELECT * FROM User WHERE userId = :id")
    User getUserById(String id);
}